3 The SCScope view 'style' property supports 3 styles:
4 0 = separate waveform plots
5 1 = overlapping waveform plots
6 2 = x,y plots of 2 channel pairs.
9 // create a window with a scope view
11 w = SCWindow("scope test", Rect(128, 64, 512, 512));
13 n = SCScope(w, Rect(10,10,480,480));
15 n.background = Color.black;
18 n.waveColors = [Color.yellow, Color.blue(1.2), Color.red, Color.green];
22 // boot internal server
26 // allocate a 2 channel buffer
27 s.sendMsg(\b_alloc, 0, 2048, 2);
29 // play a 2 channel sound into that buffer using ScopeOut.
33 f = SampleRate.ir / 64;
34 m = SinOsc.kr(0.001, 0, 0.8, 1).round(1/60);
35 ScopeOut.ar([SinOsc.ar(f + 0.01), SinOsc.ar(f * m)], 0)
44 f = MouseX.kr(40,8000,1);
45 in = {RLPF.ar(BrownNoise.ar(0.5), f, 0.3) }.dup;
57 f = MouseX.kr(40,8000,1);
58 pw = MouseY.kr(0.01,0.99);
59 in = RLPF.ar(Pulse.ar([100,100.2],pw,0.5), f, 0.1).softclip;
70 f = MouseX.kr(40,8000,1);
71 in = RLPF.ar(Saw.ar([100,100.2],0.5), f, 0.1).softclip;
81 // allocate a 4 channel buffer
82 s.sendMsg(\b_alloc, 0, 2048, 4);
88 f = MouseX.kr(40,8000,1);
89 pw = MouseY.kr(0.01,0.99);
90 in = RLPF.ar(Pulse.ar([120,120.12, 200, 200.1],pw,0.5), f,
93 Out.ar(0, Mix(in.clump(2)) * 0.5);